/*
 *
 * 　　┏┓　　　┏┓+ +
 * 　┏┛┻━━━┛┻┓ + +
 * 　┃　　　　　　　┃
 * 　┃　　　━　　　┃ ++ + + +
 *  ████━████ ┃+
 * 　┃　　　　　　　┃ +
 * 　┃　　　┻　　　┃
 * 　┃　　　　　　　┃ + +
 * 　┗━┓　　　┏━┛
 * 　　　┃　　　┃
 * 　　　┃　　　┃ + + + +
 * 　　　┃　　　┃
 * 　　　┃　　　┃ +  神兽保佑
 * 　　　┃　 　　┗━━━┓ + +
 * 　　　┃ 　　　　　　　┣┓
 * 　　　┃ 　　　　　　　┏┛
 * 　　　┗┓┓┏━┳┓┏┛ + + + +
 * 　　　　┃┫┫　┃┫┫
 * 　　　　┗┻┛　┗┻┛+ + + +
 *
 *
 * @Descripttion:
 * @version:
 * @Date: 2021-04-20 11:06:21
 * @Author: jekingxu@163.com
 * @LastEditTime: 2021-07-26 13:06:50
 * @Author: jekingxu@163.com
 * @HomePage: https://xuxiaowen.space/vue3-element-admin
 * @Github: https://github.com/xuxiaowengjt
 * 
 */
// 本文件用于模拟登录相关的API接口，提供登录、获取用户信息等功能。
// 使用Mock.js生成模拟数据
import Mock from 'mockjs'
const { generateCaptcha } = require('../src/utils/captcha');

// 导出接口配置
export default [{
        url: '/api/setcookid',
        method: 'get',
        timeout: 1000,
        statusCode: 200,
        response: () => {
            const sessionId = Mock.Random.guid() // 使用 Mock.Random 更规范
            return {
                code: 200,
                message: 'sessionId 已生成并写入 Cookie',
                data: {
                    sessionId,
                },
            }
        },
    },
    // ... 其他接口


    // 登录接口
    {
        url: '/api/login',
        method: 'post',
        timeout: 1000,
        statusCode: 200,
        response: ({ body }) => {
            console.log("api收到请求参数:", body)
                // 响应内容
            return +body.password === 123456 ? {
                code: 200,
                message: '登录成功',
                data: {
                    token: '@word(50, 100)', // @word()是mockjs的语法
                    refresh_token: '@word(50, 100)', // refresh_token是用来重新生成token的
                },
            } : {
                code: 400,
                message: '密码错误,请输入123456',
            }
        },
    },

    // 获取用户信息
    {
        url: '/api/userinfo',
        method: 'get',
        timeout: 100,
        response: {
            code: 200,
            message: '获取用户信息成功',
            data: {
                id: 1,
                name: 'WicPower',
                'role|1': ['admin', 'visitor'], // 随机返回一个角色admin或visitor
                avatar: "@image('48x48', '#fb0a2a')",
            },
        },
    },
    // 获取验证码接口


    // 获取验证码接口
    {
        url: '/api/captcha',
        method: 'get',
        timeout: 1000,
        statusCode: 200,
        response: ({ query }) => {
            const { sessionId } = query;
            if (!sessionId) {
                return {
                    code: 400,
                    message: 'Session ID 是必需的',
                };
            }

            const { image, text } = generateCaptcha(sessionId);
            // const { image, text } = { image: "ssss1", text: "ssss" };


            return {
                code: 200,
                message: '验证码生成成功',
                data: {
                    image, // 返回验证码图片
                    text, // 返回验证码文本（后台验证时使用）
                },
            };
        },
    },
]